package com.iflytek.uoamp.notify.core.protocol;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.annotation.JSONField;
import com.iflytek.uoamp.common.notify.obj.Contact;
import com.iflytek.uoamp.common.notify.obj.Period;

public abstract class PluginNode {
    protected static final String separator = System.getProperty("line.separator");
    @JSONField(name = "plugin_type")
    public String plugin_type;
    @JSONField(name = "allow_time")
    public List<Period> allow_time;
    @JSONField(name = "contacts")
    public List<Contact> contacts;

    public Map<String, String> getExtend() {
        return extend;
    }

    public void setExtend(Map<String, String> extend) {
        this.extend = extend;
    }

    @JSONField(name = "extends")
    private Map<String, String> extend = new HashMap<String, String>();


    public String getPluginType() {
        return plugin_type;
    }
    public void setPluginType(String pluginType) {
        this.plugin_type = pluginType;
    }

    public List<Period> getAllowTime() {
        return allow_time;
    }
    public void setAllowTime(List<Period> allowTime) {
        this.allow_time = allowTime;
    }
    
    public List<Contact> getContacts() {
        return contacts;
    }
    public void setContacts(List<Contact> contacts) {
        this.contacts = contacts;
    }
    
    public abstract List<?> getContent();
}
